package com.sgb.goods.entity.order;

/**
 * 订单付款详情实体
 *
 * @author cyj
 */
public class OrderPayDetailEntity {

    /**
     * 收款凭证
     */
    public String collectionVoucher;
    /**
     * 业务支付号
     */
    public String id;
    /**
     * 付款方式 ：线下付款 在线付款
     */
    public String method;
    /**
     * 收款金额
     */
    public String money;
    /**
     * 订单编号
     */
    public String orderId;
    /**
     * 申请支付时间
     */
    public String payApplyTime;
    /**
     * 付款状态 0 待付款 1 冻结中 2 支付成功 3 支付失败 4 线下付款确认中 5 支付审批中  6支付审批被拒绝 50 付款中 60 已撤销
     */
    public int payState;
    /**
     * 收款企业开户银行
     */
    public String payeeAccountBankName;
    /**
     * 收款企业账户号码
     */
    public String payeeAccountNumber;
    /**
     * 审批状态 0 待审批 1 审批通过 2 审批失败 -1 无审批
     */
    public int processState;
    /**
     * 支付凭证
     */
    public String proof;
    /**
     * 付款约定时间
     */
    public String payDeadline;
    /**
     * 货币类型
     */
    public int currencyType;
    /**
     * 备注
     */
    public String remark;
    /**
     * 付款项:0：其他、1：定金、2：预付款、3：验收款、4：质保金 、 5：全款
     */
    public int paySupplierType;

    public String getPaySupplierType() {
        if (0 == paySupplierType) {
            return "其他";
        } else if (1 == paySupplierType) {
            return "定金";
        } else if (2 == paySupplierType) {
            return "预付款";
        } else if (3 == paySupplierType) {
            return "验收款";
        } else if (4 == paySupplierType) {
            return "质保金";
        } else if (5 == paySupplierType) {
            return "全款";
        }
        return "";
    }

    public String getPayStateString() {
        if (1 == payState) {
            return "冻结中";
        } else if (2 == payState) {
            return !"线下付款".equals(method) ? "已成功" : "付款成功";
        } else if (4 == payState) {
            return "确认中";
        }
        return "待付款";
    }

    /**
     * 获取审批状态字符串
     * 审批状态 0 待审批 1 审批通过 2 审批失败 3 无审批
     *
     * @return
     */
    public String getProcessStateString() {
        if (0 == processState) {
            return "审批中";
        } else if (1 == processState) {
            return "已通过";
        } else if (2 == processState) {
            return "已拒绝";
        } else if (3 == processState) {
            return "已通过";
        }
        return "/";
    }
}

